package battleenum

// @schema_ts
type BehaviorAlignment int

const (

	// 中立
	// 当使用该技能进行瞄准时，没有指定的偏好设置来选择友方或敌方单位。
	BehaviorAlignment_中立 BehaviorAlignment = iota

	// 负
	// 瞄准时优先瞄准敌方单位。
	BehaviorAlignment_负

	// 正
	// 瞄准时优先瞄准友方单位。
	BehaviorAlignment_正
)

// 行为的分类
// @schema_ts
type BehaviorClassId uint

const (
	BehaviorClassId_General BehaviorClassId = 1 << iota
	BehaviorClassId_CBehaviorAttribute
	BehaviorClassId_CBehaviorBuff
	BehaviorClassId_CBehaviorVeterancy
)

// @schema_go
// @schema_ts
type BehaviorChange int

// 指令标旗
const (
	BehaviorChange_任意 BehaviorChange = iota
	BehaviorChange_创建
	BehaviorChange_摧毁
	BehaviorChange_刷新
	BehaviorChange_增加
	BehaviorChange_减少
	BehaviorChange_激活
	BehaviorChange_取消激活
)

// 行为的类别
// @schema_ts
type BehaviorCategory uint

const (
	// 永久
	BehaviorCategory_永久 BehaviorCategory = 1 << iota
	// 可恢复
	BehaviorCategory_可恢复
	// 临时
	BehaviorCategory_临时
	// 隐形
	BehaviorCategory_隐形
	// 无敌
	BehaviorCategory_无敌
	// 减速
	BehaviorCategory_减速
	// 加速
	BehaviorCategory_加速
	// 昏迷
	BehaviorCategory_昏迷
	// 现形
	BehaviorCategory_现形
	// 用户自定义
	BehaviorCategory_User1
	BehaviorCategory_User2
	BehaviorCategory_User3
	BehaviorCategory_User4
	BehaviorCategory_User5
	BehaviorCategory_User6
	BehaviorCategory_User7
	BehaviorCategory_User8
	BehaviorCategory_User9
	BehaviorCategory_User10
	BehaviorCategory_User11
	BehaviorCategory_User12
	BehaviorCategory_User13
	BehaviorCategory_User14
	BehaviorCategory_User15
)

// @schema_ts
type BehaviorVeterancyXP int

// 行为-老兵-经验
const (
	// 造成伤害获得的经验
	BehaviorVeterancyXP_DamageDealt BehaviorVeterancyXP = iota
	// 承受伤害获得的经验
	BehaviorVeterancyXP_DamageToken
	// 击杀获得的经验
	BehaviorVeterancyXP_Kill
)

// @schema_go --EnumToString=true
// @schema_ts
type BehaviorVeterancyFlag int

// 行为-老兵-经验
const (
	// 组合数字修改
	BehaviorVeterancyFlag_CombineNumericModifications BehaviorVeterancyFlag = iota
	// 组合经验
	BehaviorVeterancyFlag_CombineXP
	// 全局吸收经验, 不计算距离
	BehaviorVeterancyFlag_Global
	// 最大吸取等级
	BehaviorVeterancyFlag_MaxLevelLeech
)

// @schema_go --EnumToString=true
// @schema_ts
type AbilMoveFlag int

const (
	// 禁止中断
	AbilMoveFlag_DisableCancel AbilMoveFlag = iota
)

// 响应产生效果的来源
// @schema_ts
type ResponseTargetInfo int

const (
	// 行为
	ResponseSource_Behavior ResponseTargetInfo = iota

	// 效果
	ResponseSource_Effect
)

// @schema_go --EnumToString=true
// @schema_ts
type E增益行为标旗 int

const (
	// 设置后，每一个数量为一层，拥有独立的计时器
	E增益行为标旗_允许每层独立的持续时间 E增益行为标旗 = iota

	// 单位的属性修正的数值将乘以行为数量
	E增益行为标旗_允许叠加属性修正
)

// 带忽略的匹配类型
// @schema_go
// @schema_ts
type MatchIgnore int

const (
	// @alias 忽略
	MatchIgnore_忽略 MatchIgnore = iota
	// @alias 匹配
	MatchIgnore_匹配
	// @alias 排除
	MatchIgnore_排除
)

// @schema_go --EnumToString=true
// @schema_ts
// @alias 单位状态标旗
type D单位状态标旗 int

const (
	// 抑制攻击
	D单位状态标旗_抑制攻击 D单位状态标旗 = 0
	// 禁用技能
	D单位状态标旗_禁用技能 D单位状态标旗 = 1
	// 禁用武器
	D单位状态标旗_禁用武器 D单位状态标旗 = 2
	// 暴露
	D单位状态标旗_暴露 D单位状态标旗 = 3
	// 沉默
	D单位状态标旗_沉默 D单位状态标旗 = 4
	// 击晕
	D单位状态标旗_击晕 D单位状态标旗 = 5
	// 抑制移动
	D单位状态标旗_抑制移动 D单位状态标旗 = 6
	// 抑制转向
	D单位状态标旗_抑制转向 D单位状态标旗 = 7
	// 静止
	D单位状态标旗_静止 D单位状态标旗 = 8
	// 混乱
	D单位状态标旗_混乱 D单位状态标旗 = 9
	// 混乱
	D单位状态标旗_刚体 D单位状态标旗 = 10
)
